package mspbots.data.tl.prod.autotask.model;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import mspbots.data.tl.entity.BaseTenantEntity;

import java.time.LocalDateTime;

@Data
@Builder
@EqualsAndHashCode(callSuper=false)
@AllArgsConstructor
@NoArgsConstructor
@TableName("task_autotask_ticket")
public class TaskAutotaskTicket extends BaseTenantEntity {

    private Long ticketId;
    private String ticketNumber;
    private String title;
    private Long source;
    private String sourceName;
    private Long status;
    private String statusName;
    private Long priority;
    private String priorityName;
    private Long companyId;
    private String companyName;
    private Long contactId;
    private String contactName;
    private Long ticketType;
    private String ticketTypeName;
    private LocalDateTime syncTime;
    private LocalDateTime createDate;
    private LocalDateTime lastActivityDate;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private LocalDateTime completedDate;
    private Long creatorResourceId;
    private Long assignedResourceId;
    private String resolution;
    private Integer changeApprovalBoard;
    private String changeApprovalBoardName;

    private Long lastActivityResourceId;

    @TableField(value = "current_service_thermometer_rating")
    private Double currentServiceThermometerRating;

    @TableField(value = "due_date_time")
    private LocalDateTime dueDateTime;

    @TableField(value = "estimated_hours")
    private Double estimatedHours;

    @TableField(value = "first_response_date_time")
    private LocalDateTime firstResponseDateTime;

    @TableField(value = "first_response_due_datetime")
    private LocalDateTime firstResponseDueDateTime;

    @TableField(value = "issue_type")
    private Integer issueType;

    @TableField(value = "previous_service_thermometer_rating")
    private Double previousServiceThermometerRating;

    @TableField(value = "queueId")
    private Long queueId;
    private String queueIdName;


    @TableField(value = "resolution_plan_date_time")
    private LocalDateTime resolutionPlanDateTime;


    @TableField(value = "resolution_plan_due_datetime")
    private LocalDateTime resolutionPlanDueDateTime;


    @TableField(value = "resolved_date_time")
    private LocalDateTime resolvedDateTime;


    @TableField(value = "resolved_due_datetime")
    private LocalDateTime resolvedDueDateTime;

    @TableField(value = "service_thermometer_temperature")
    private Double serviceThermometerTemperature;


    @TableField(value = "sub_issue_type")
    private String subIssueType;

    @TableField(value = "ticket_category")
    private String ticketCategory;

    private String link;

































}
